package com.hd.trans.limit4Use

import androidx.appcompat.app.AppCompatActivity
import com.hd.trans.homefun.EventCode
import com.hd.trans.utils.PermissionCallback

interface LimitUseListener {
    /**
     * 免费试用次数（试用时长）
     * @param eventCode 事件code
     * @return
     */
    fun getFreeTrialCount(eventCode: EventCode):Int{
        return 0
    }
    /**
     * 免费试用时长
     * @param eventCode 事件code
     * @return
     */
    fun getFreeTrialTime(eventCode: EventCode):Long{
        return 0L
    }
    /**
     * 是否给予通行
     * @param eventCode 事件code
     * @return
     */
    fun isAllowTransit(eventCode: EventCode):Boolean
    /**
     * 功能使用拦截：会员通行，非会员拦截
     * @param eventCode 事件code
     * @param title 标题
     * @param name 名称
     * @param tab 标签
     * @return false 不拦截 true 拦截
     */
    fun intercept(
        eventCode: EventCode,
        title: String? = null,
        name: String? = null,
        tab: String? = null
    )
    /**
     * 权限未申请拦截
     * @param activity
     * @param eventCode 事件code
     * @param permissions 权限列表
     * @param callback 权限回调
     * @return false 不拦截 true 拦截
     */
    fun interceptPermission(
        activity: AppCompatActivity,
        eventCode: EventCode,
        permissions: Array<String>,
        callback: PermissionCallback? = null
    ):Boolean
}